#ifndef __ENTITYEXTENSIONS_H__
#define __ENTITYEXTENSIONS_H__

#include "Entity.h"
#include "Graphics/Mesh/Mesh.h"

namespace RayFrame
{
  class DLL_DECLARE RenderExtension: public IEntityExtension
  {
    const STRING m_extensionType;
  public:
    Mesh* m_mesh;
  public:
    RenderExtension(Entity* parent):
        IEntityExtension(parent), m_extensionType("RenderExtension")
    {
      m_mesh = NULL;
    }

    virtual STRING GetTypeName()
    {
      return m_extensionType;
    }

    virtual void OnUpdate(double timeElapsed)
    {
      
    }

    void OnRender(double timeElapsed)
    {
      if(m_mesh)
        m_mesh->Render();
    }
  };

}

#endif